package com.feditory.shop.provider;

import java.util.List;
import java.util.Map;

import com.feditory.common.condition.PagingCond;
import com.feditory.shop.domain.FamousWholesaleShop;
import com.feditory.shop.domain.RetailShop;
import com.feditory.shop.domain.WholesaleShop;

public interface ShopProvider {
    
    public long registerWholeShop(WholesaleShop shop);
    
    public long registerRetailShop(RetailShop shop);
    
    public WholesaleShop retrieveWholesaleShop(String shopId);
    
    // -------------------------------------------------------------------
    // 인기샵 FamousWholesaleShop
    // -------------------------------------------------------------------

    public void registerFamousWholesaleShop(FamousWholesaleShop shop);

    /**
     *======================================================
     * @method  : ShopProvider - retrieveFamounWholeSaleShops 
     * @author  : bgkang
     * @since   : 2012. 7. 17.
     * @return  : List<FamousWholesaleShop>
     * @param firstCount
     * @param maxCount
     * @return
     * @note    : 인기샵목록조회
     *======================================================
     * @update : 수정일, 수정자, 수정내용
     *
     *======================================================
     */
    public List<FamousWholesaleShop> retrieveFamounWholeSaleShops(PagingCond pagingCond);

    /**
     *======================================================
     * @method  : ShopProvider - retrieveWholesaleShopName 
     * @author  : bgkang
     * @since   : 2012. 7. 21.
     * @return  : Map<String,String>
     * @param wholesaleShopIds
     * @return
     * @note    : 샵아이디목록으로 샵아이디에 매핑되는샵명조회
     *======================================================
     * @update : 수정일, 수정자, 수정내용
     *
     *======================================================
     */
    Map<String, String> retrieveWholesaleShopName(List<String> wholesaleShopIds);
    
}
